package com.wind.taobao.api.trade.shipping.rest
{
	import com.wind.taobao.api.IPrivateAPI;
	import com.wind.taobao.core.exception.InvalidRequestParametersException;
	import com.wind.taobao.core.util.TaobaoUtils;
	import com.wind.taobao.core.webservice.TaobaoRequest;

	/**
	 * taobao.delivery.send Request
	 * @author fxy
	 *
	 */
	public class DeliverySendRequest extends TaobaoRequest implements IPrivateAPI
	{
		public override function get method():String
		{
			return "taobao.delivery.send"
		}
		/**
		 * Y 	 交易ID
		 */
		[Bindable]
		public var tid:String;
		/**
		 * Y 	发货类型. 可选( delivery_needed(物流订单发货),virtual_goods(虚拟物品发货). ) 注:选择virtual_goods类型进行发货的话下面的参数可以不需填写。
		 */
		[Bindable]
		public var orderType:String;
		/**
		 * Y 	物流公司代码.如"POST"就代表中国邮政,"ZJS"就代表宅急送.调用 taobao.logisticcompanies.get 获取.
		 */
		[Bindable]
		public var company_code:String;
		/**
		 * Y 	运单号.具体一个物流公司的真实运单号码.
		 */
		[Bindable]
		public var out_sid:String;
		/**
		 * Y 	卖家姓名
		 */
		[Bindable]
		public var seller_name:String;
		/**
		 * Y 	卖家所在地国家公布的标准地区码.参考:http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm 或者调用 taobao.areas.get 获取
		 */
		[Bindable]
		public var seller_area_id:String;
		/**
		 * Y 	卖家地址(详细地址).如:XXX街道XXX门牌,省市区不需要提供.
		 */
		[Bindable]
		public var seller_address:String;
		/**
		 * Y 	卖家邮编
		 */
		[Bindable]
		public var seller_zip:String;
		/**
		 * Y 	卖家固定电话.包含区号,电话,分机号,中间用 " – "; 卖家固定电话和卖家手机号码,必须填写一个.
		 */
		[Bindable]
		public var seller_phone:String;
		/**
		 * Y 	卖家手机号码
		 */
		[Bindable]
		public var seller_mobile:String;
		/**
		 *	Y 	卖家备注.最大长度为250个字符.
		 */
		[Bindable]
		public var memo:String;

		public override function validate():void
		{
			if (!TaobaoUtils.hasAllValue([tid, orderType, company_code, out_sid, seller_name, seller_area_id, seller_address, seller_zip, seller_phone, seller_mobile, memo]))
			{
				throw new InvalidRequestParametersException("请求参数[tid, orderType, company_code, out_sid, seller_name, seller_area_id, seller_address, seller_zip, seller_phone, seller_mobile, memo]不能为空");
			}
		}
	}
}